/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package importing;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;


public class importLehrereinsatzXML {

    private ArrayList<ArrayList<ArrayList<String>>> FachListenObjekt = new ArrayList<ArrayList<ArrayList<String>>>();
    
    /**
     * Prueft die Datei ob sie Validitert werden kann.
     *
     * @param file
     * @return Document wenn File validiert wird.
     */
    private Document pruefeDatei(String file) {
        Document doc;
        try {
            SAXBuilder sax = new SAXBuilder();
            sax.setValidation(true);
            doc = sax.build(file);
            return doc;
        } catch (IOException e) {
            System.err.println("Datei wurde nicht gefunden: ");
            System.err.println(e.getMessage());
            return null;
        } catch (JDOMException e) {
            System.err.println("JDOM hat einen Fehler festegestellt: ");
            System.err.println(e.getMessage());
            return null;
        }
    }

    /**
     * Liest die die PersonPlanv2.xml
     * @param file
     * @return true wenn erfolgreich eingelesen-
     */
    public boolean leseXML(String file) {
        Element lehrer;
        Element faecher;
        Element halbjahr;
        List lehrerXML;
        List fachXML;
        List halbjahrXML;

       // if (pruefeDatei(file) == null) {
       //     return false;
       // }
        Document doc = pruefeDatei(file);
        Element root = doc.getRootElement();
        lehrerXML = root.getChildren("Lehrer");
        for (int i = 0; i < lehrerXML.size(); i++) {
            lehrer = (Element) lehrerXML.get(i);
            FachListenObjekt.add(new ArrayList<ArrayList<String>>());
            FachListenObjekt.get(i).add(0,new ArrayList<String>());           
            FachListenObjekt.get(i).get(0).add(lehrer.getAttributeValue("Name"));
            
            fachXML = lehrer.getChildren("Fach");
            System.out.println("Lehrer : "+FachListenObjekt.get(i).get(0).get(0));
            for(int j = 0 ; j < fachXML.size(); j++){
                faecher = (Element) fachXML.get(j);                    
                FachListenObjekt.get(i).add(j,new ArrayList<String>());
                FachListenObjekt.get(i).get(j).add(0,faecher.getAttributeValue("fachname"));
                System.out.println("\tFach : "+FachListenObjekt.get(i).get(j).get(0));
                
                halbjahrXML = faecher.getChildren("Halbjahr");
                for(int k = 0;k < halbjahrXML.size(); k++){
                    halbjahr = (Element) halbjahrXML.get(k);
                    FachListenObjekt.get(i).get(j).add(k,halbjahr.getAttributeValue("hj"));     
                    System.out.println("\t\tHalbjahre : "+FachListenObjekt.get(i).get(j).get(k));
                }       
                
            }
        }
        return true;
    }
}
